home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Risc World 3
/
Risc World 3.iso
/
SOFTWARE
/
ISSUE3
/
SCRIBBLE
/
Examples
/
pdfclock
< prev
next >
Wrap
Text File
|
2002-07-05
|
1KB
|
78 lines
-- pdfclock
-- shows time when it was created.
RADIUS=200
MARGIN=20
z = BEGIN (arg[1].."_pdf")
z:set_info( "Creator", "pdfclock.lua")
z:set_info( "Author", "Thomas Merz")
z:set_info( "Title", "PDF clock (Lua)")
z:begin_page( 2 * (RADIUS + MARGIN), 2 * (RADIUS + MARGIN))
z:translate( RADIUS + MARGIN, RADIUS + MARGIN)
z:setcolor( "both", "rgb", 0, 0, 1, 0)
z:save()
-- minute strokes
z:setlinewidth( 2)
for alpha = 0,360-6,6 do
z:rotate( 6)
z:moveto( RADIUS, 0)
z:lineto( RADIUS-MARGIN/3, 0)
z:stroke()
end
z:restore()
z:save()
-- 5 minute strokes
z:setlinewidth( 3)
for alpha = 0,360-30,30 do
z:rotate( 30)
z:moveto( RADIUS, 0)
z:lineto( RADIUS-MARGIN, 0)
z:stroke()
end
_,_,hour,mins,sec=strfind(getenv("sys$time"),"(%d+):(%d+):(%d+)")
-- draw hour hand
z:save()
z:rotate( -((mins/60) + hour - 3) * 30)
z:moveto( -RADIUS/10, -RADIUS/20)
z:lineto( RADIUS/2, 0)
z:lineto( -RADIUS/10, RADIUS/20)
z:closepath()
z:fill()
z:restore()
-- draw minute hand
z:setcolor("both","rgb",0,1,0,0)
z:save()
z:rotate( -((sec/60) + mins - 15) * 6)
z:moveto( -RADIUS/10, -RADIUS/20)
z:lineto( RADIUS * 0.8, 0)
z:lineto( -RADIUS/10, RADIUS/20)
z:closepath()
z:fill()
z:restore()
-- draw second hand
z:setcolor( "both", "rgb", 1, 0, 0, 0)
z:setlinewidth( 2)
z:save()
z:rotate( -((sec - 15) * 6))
z:moveto( -RADIUS/5, 0)
z:lineto( RADIUS, 0)
z:stroke()
z:restore()
-- draw little circle at center
z:circle( 0, 0, RADIUS/30)
z:fill()
z:restore()
z:END()